Longan Nano を触っていく
RISC-V MCU が載ったボードである Longan Nano を触っていく
環境は Ubuntu 20.04
PlatformIO を使えとドキュメントに書いてあるが IDE を使うのは癪なので CLI ツールでなんとかする
別に CLI で使える方法があったそういえば
とはいえそれはそれでミニマルでないのでめんどい
アセンブラがあったが Python 製だった
theandrew168/bronzebeard: Minimal ecosystem for bare-metal RISC-V development
Haskell で書き直してやる
環境構築で終わるお前の人生をやるのも不毛なので素直に PlatformIO を使うことにした
アセンブラとリンカ書き直して戻ってくるからな!!
開発ツールPlatformIOをcli(comand line interface)で使う(Longan-Nano版): xshige's beta notes
これを参考に仕切り直し
Arduino ではなく gd32vf103-sdk でやっていきたい
udev に Longan Nano が認識できるように準備しておく
code:shell
$ curl -fsSL https://raw.githubusercontent.com/platformio/platformio-core/master/scripts/99-   platformio-udev.rules | sudo tee /etc/udev/rules.d/99-platformio-udev.rules
別にこれやんなくても良いけど他のボードとかも dfu で書き込めるようになるのでやっとく
次に Longan Nano の udev ルールをダウンロードしてできたファイルに書き足す
code:/etc/udev/rules.d/99-platformio-udev.rules
# Longan Nano
ATTRS{idVendor}=="28e9", ATTRS{idProduct}=="0189", MODE="0666"
code:shell
$ sudo systemctl reload udev
ソースを clone してくる
sipeed/platform-gd32v: GD32V: development platform for PlatformIO
code:shell
$ git clone https://github.com/sipeed/platform-gd32v.git
$ cd platform-gd32v/examples/longan-nano-blink
platform.ini に以下の 1 行を足しておく
code:ini
upload_protcol = dfu
ビルド
code:shell
$ pio run
書き込み
ここでハマったのですが USB ケーブルはデータ転送用を使ってください
当たり前なんだけどこれで小 1 時間溶かした。ぐぬぬ
Logan Nano を接続したら以下の操作をする
ボタンは USB コネクタのそばに 2 つついており、基板に名前が書いてある
BOOT0 を押しながら
RESET を 1 秒以上押して離す
その後 BOOT0 を離す
code:shell
$ pio run -t upload
-4 でエラー終了すると思うけど L チカしてれば成功
https://scrapbox.io/files/606ade7a659225001c0c1ef3.mp4